#ifndef TOKEN_H
#define TOKEN_H
#include <windows.h>
#include <string>
using std::string;
typedef enum{
	STRING,ALPHA,COMMANT,KEYWORD,DIGIT,ID,ILL,SYMBOL,PRE,SPACE,
	TYPEINC,FUNCINC,SCANEOF,UDF
}token;
string tokname[]={
	"string",
	"alpha",
	"commant",
	"keyword",
	"digit",
	"id",
	"ill",
	"symbol",
	"pre",
	"space",
	"cfree type",
	"cfree function"
};
string info[SCANEOF];
string TypeWordsC[]={
	"int",
	"bool",
	"long",
	"char",
	"short",
	"unsigned",
	"signed",
	"vector",
	"register",
	"auto",
	"const",
	"static",
	"double",
	"float",
	"inline",
	"string",
	"mutable",
	"volatile",
	"void",
	"wchar_t",
	"vector",
	"iterator",
	"queue",
	"deque",
	"stack",
	"set",
	"map",
	"priority_queue",
	"multiset",
	"bitset",
	"pair"
	"multimap",
	"FILE",
	"BOOL",
	"COORD",
	"INT",
	"LONG",
	"#"
} ;
string KeywordsC[]=        
{                          
"__asm"			,                
"asm"			,                  
"__except"			,             
"__finally"			,            
"__property"			,           
"__try"			,                
"__except"			,             
"__finally"			,            
"break"			,                
"case"			,                 
"catch"			,                
"class"			,                
"const_cast"			,           
"continue"			,             
"default"			,              
"delete"			,               
"do"			,                   
"dynamic_cast"			,         
"enum"			,                 
"explicit"			,             
"else"			,                 
"false"			,                
"friend"			,               
"for"			,                  
"goto"			,                 
"if"			,                   
"namespace"			,            
"new"			,                  
"operator"			,             
"private"			,              
"protected"			,            
"public"			,               
"reinterpret_cast"			,     
"return"			,               
"sizeof"			,               
"static_cast"			,          
"struct"			,               
"switch"			,               
"template"			,             
"this"			,                 
"throw"			,                
"try"			,                  
"typedef"			,              
"typeid"			,               
"typename"			,             
"true"			,                 
"union"			,                
"using"			,                
"virtual"			,              
"while"				,               
"#"                        
};                         
string KeywordsD[]=        
{                          
"__asm"			,                
"asm"			,                  
"__cdecl"	,                
"__declspec",              
"__except"			,             
"__fastcall"		,            
"__finally"			,            
"__int8"	,                 
"__int16"	,                
"__int32"	,                
"__int64"	,                
"__property"			,           
"__stdcall"	,              
"__try"			,                
"__except"			,             
"__finally"			,            
"break"			,                
"bool"			,                 
"case"			,                 
"catch"			,                
"class"			,                
"const"			,                
"const_cast"			,
"continue"			,
"char"			,
"default"			,
"delete"			,
"do"			,
"dynamic_cast", 
"double"			,
"enum"			,
"explicit"			,
"extern"			,
"else"			,
"false"			,
"friend"			,
"for"			,
"goto"			,
"if"			,
"inline"			,
"int"			,
"long"			,
"mutable"			,
"namespace"			,
"new"			,
"operator"			,
"private"			,
"protected"			,
"public"			,
"register"			, 
"reinterpret_cast"			,
"return"			,
"short"			,
"signed"			,
"sizeof"			,
"static"			,
"static_cast"			,
"struct"			,
"switch"			,
"template"			,
"this"			,
"throw"			,
"try"			,
"typedef"			,
"typeid"			,
"typename"			,
"true"			,
"union"			,
"using"			,
"unsigned"			,
"virtual"			,
"volatile"			,
"void"			,
"wchar_t"			,
"while"				,
"#"
};
#endif
